/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.NoFarmacologico;
import java.util.Vector;
import org.hibernate.Query;

/**
 *
 * @author Administrador
 */
public class NoFarmacologicoFisica extends CapaFisica {

    /**
     * Retorna el objeto NoFarmacologico según el ID.
     *
     * @param idNoFarmacologico El id del objeto NoFarmacologico
     * @return El objeto NoFarmacologico consultado, null si no existe
     */
    public static NoFarmacologico getNoFarmacologicoPorId(int idNoFarmacologico) {
        Query q = Sesion.sesion.createQuery(
                "from NoFarmacologico " +
                "where idNoFarmacologico = " +
                idNoFarmacologico
                );

        return (NoFarmacologico) getObjeto(q);
    }

    /**
     * Retorna el vector de objetos NoFarmacologicos según el id del tratamiento
     * medicamentoso.
     *
     * @param idTratamientoMedicamentoso El id del tratamiento medicamentoso asociado
     * @return El vector de objetos NoFarmacologico consultado, null si no existe
     */
    public static Vector<NoFarmacologico>
            getVectorNoFarmacologicoPorIdTratamientoMedicamentoso(
            int idTratamientoMedicamentoso) {
        Query q = Sesion.sesion.createQuery(
                "select nf from NoFarmacologico as nf " +
                "where nf.tratamientoMedicamentoso.idTratamientoMedicamentoso = " +
                idTratamientoMedicamentoso
                );

        return getVectorObjetos(q);
    }

    /**
     * Retorna el vector de objetos NoFarmacologico según el paciente.
     *
     * @param idPaciente El paciente en cuestión
     * @return El vector de objetos NoFarmacologico consultado, null si no existe
     */
    public static Vector<NoFarmacologico> getVectorNoFarmacologicoPorPaciente(
            int idPaciente) {
        Query q = Sesion.sesion.createQuery(
                "select nf from NoFarmacologico nf " +
                "where " +
                "nf.tratamientoMedicamentoso.evolucion.enfermedadYDiagnosticoAmbulatorio.paciente = " +
                idPaciente
                );

        return getVectorObjetos(q);
    }

}